/*
 * Copyright 2020 Mike Penz
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.mikepenz.iconics.typeface.library.fontawesome

import com.mikepenz.iconics.typeface.IIcon
import com.mikepenz.iconics.typeface.ITypeface
import java.util.LinkedList

@Suppress("EnumEntryName")
object FontAwesome : ITypeface {

    override val fontRes: Int
        get() = R.font.fontawesome_solid_font_v5_13_3

    override val characters: Map<String, Char> by lazy {
        Icon.values().associate { it.name to it.character }
    }

    override val mappingPrefix: String
        get() = "faw"

    override val fontName: String
        get() = "FontAwesome"

    override val version: String
        get() = "5.13.3.0"

    override val iconCount: Int
        get() = characters.size

    override val icons: List<String>
        get() = characters.keys.toCollection(LinkedList())

    override val author: String
        get() = "FontAwesome"

    override val url: String
        get() = "https://fontawesome.com/"

    override val description: String
        get() = "The internet's most popular icon toolkit has been redesigned and built from scratch. On top of this, features like icon font ligatures, an SVG framework, official NPM packages for popular frontend libraries like React, and access to a new CDN."

    override val license: String
        get() = "Font Awesome Free License"

    override val licenseUrl: String
        get() = "https://github.com/FortAwesome/Font-Awesome/blob/master/LICENSE.txt"

    override fun getIcon(key: String): IIcon = Icon.valueOf(key)

    enum class Icon constructor(override val character: Char) : IIcon {
        faw_ad('\ue900'),
        faw_address_book('\ue901'),
        faw_address_card('\ue902'),
        faw_adjust('\ue903'),
        faw_air_freshener('\ue904'),
        faw_align_center('\ue905'),
        faw_align_justify('\ue906'),
        faw_align_left('\ue907'),
        faw_align_right('\ue908'),
        faw_allergies('\ue909'),
        faw_ambulance('\ue90a'),
        faw_american_sign_language_interpreting('\ue90b'),
        faw_anchor('\ue90c'),
        faw_angle_double_down('\ue90d'),
        faw_angle_double_left('\ue90e'),
        faw_angle_double_right('\ue90f'),
        faw_angle_double_up('\ue910'),
        faw_angle_down('\ue911'),
        faw_angle_left('\ue912'),
        faw_angle_right('\ue913'),
        faw_angle_up('\ue914'),
        faw_angry('\ue915'),
        faw_ankh('\ue916'),
        faw_apple_alt('\ue917'),
        faw_archive('\ue918'),
        faw_archway('\ue919'),
        faw_arrow_alt_circle_down('\ue91a'),
        faw_arrow_alt_circle_left('\ue91b'),
        faw_arrow_alt_circle_right('\ue91c'),
        faw_arrow_alt_circle_up('\ue91d'),
        faw_arrow_circle_down('\ue91e'),
        faw_arrow_circle_left('\ue91f'),
        faw_arrow_circle_right('\ue920'),
        faw_arrow_circle_up('\ue921'),
        faw_arrow_down('\ue922'),
        faw_arrow_left('\ue923'),
        faw_arrow_right('\ue924'),
        faw_arrow_up('\ue925'),
        faw_arrows_alt('\ue928'),
        faw_arrows_alt_h('\ue926'),
        faw_arrows_alt_v('\ue927'),
        faw_assistive_listening_systems('\ue929'),
        faw_asterisk('\ue92a'),
        faw_at('\ue92b'),
        faw_atlas('\ue92c'),
        faw_atom('\ue92d'),
        faw_audio_description('\ue92e'),
        faw_award('\ue92f'),
        faw_baby('\ue931'),
        faw_baby_carriage('\ue930'),
        faw_backspace('\ue932'),
        faw_backward('\ue933'),
        faw_bacon('\ue934'),
        faw_bacteria('\ue935'),
        faw_bacterium('\ue936'),
        faw_bahai('\ue937'),
        faw_balance_scale('\ue93a'),
        faw_balance_scale_left('\ue938'),
        faw_balance_scale_right('\ue939'),
        faw_ban('\ue93b'),
        faw_band_aid('\ue93c'),
        faw_barcode('\ue93d'),
        faw_bars('\ue93e'),
        faw_baseball_ball('\ue93f'),
        faw_basketball_ball('\ue940'),
        faw_bath('\ue941'),
        faw_battery_empty('\ue942'),
        faw_battery_full('\ue943'),
        faw_battery_half('\ue944'),
        faw_battery_quarter('\ue945'),
        faw_battery_three_quarters('\ue946'),
        faw_bed('\ue947'),
        faw_beer('\ue948'),
        faw_bell('\ue94a'),
        faw_bell_slash('\ue949'),
        faw_bezier_curve('\ue94b'),
        faw_bible('\ue94c'),
        faw_bicycle('\ue94d'),
        faw_biking('\ue94e'),
        faw_binoculars('\ue94f'),
        faw_biohazard('\ue950'),
        faw_birthday_cake('\ue951'),
        faw_blender('\ue953'),
        faw_blender_phone('\ue952'),
        faw_blind('\ue954'),
        faw_blog('\ue955'),
        faw_bold('\ue956'),
        faw_bolt('\ue957'),
        faw_bomb('\ue958'),
        faw_bone('\ue959'),
        faw_bong('\ue95a'),
        faw_book('\ue95f'),
        faw_book_dead('\ue95b'),
        faw_book_medical('\ue95c'),
        faw_book_open('\ue95d'),
        faw_book_reader('\ue95e'),
        faw_bookmark('\ue960'),
        faw_border_all('\ue961'),
        faw_border_none('\ue962'),
        faw_border_style('\ue963'),
        faw_bowling_ball('\ue964'),
        faw_box('\ue967'),
        faw_box_open('\ue965'),
        faw_box_tissue('\ue966'),
        faw_boxes('\ue968'),
        faw_braille('\ue969'),
        faw_brain('\ue96a'),
        faw_bread_slice('\ue96b'),
        faw_briefcase('\ue96d'),
        faw_briefcase_medical('\ue96c'),
        faw_broadcast_tower('\ue96e'),
        faw_broom('\ue96f'),
        faw_brush('\ue970'),
        faw_bug('\ue971'),
        faw_building('\ue972'),
        faw_bullhorn('\ue973'),
        faw_bullseye('\ue974'),
        faw_burn('\ue975'),
        faw_bus('\ue977'),
        faw_bus_alt('\ue976'),
        faw_business_time('\ue978'),
        faw_calculator('\ue979'),
        faw_calendar('\ue981'),
        faw_calendar_alt('\ue97a'),
        faw_calendar_check('\ue97b'),
        faw_calendar_day('\ue97c'),
        faw_calendar_minus('\ue97d'),
        faw_calendar_plus('\ue97e'),
        faw_calendar_times('\ue97f'),
        faw_calendar_week('\ue980'),
        faw_camera('\ue983'),
        faw_camera_retro('\ue982'),
        faw_campground('\ue984'),
        faw_candy_cane('\ue985'),
        faw_cannabis('\ue986'),
        faw_capsules('\ue987'),
        faw_car('\ue98c'),
        faw_car_alt('\ue988'),
        faw_car_battery('\ue989'),
        faw_car_crash('\ue98a'),
        faw_car_side('\ue98b'),
        faw_caravan('\ue98d'),
        faw_caret_down('\ue98e'),
        faw_caret_left('\ue98f'),
        faw_caret_right('\ue990'),
        faw_caret_square_down('\ue991'),
        faw_caret_square_left('\ue992'),
        faw_caret_square_right('\ue993'),
        faw_caret_square_up('\ue994'),
        faw_caret_up('\ue995'),
        faw_carrot('\ue996'),
        faw_cart_arrow_down('\ue997'),
        faw_cart_plus('\ue998'),
        faw_cash_register('\ue999'),
        faw_cat('\ue99a'),
        faw_certificate('\ue99b'),
        faw_chair('\ue99c'),
        faw_chalkboard('\ue99e'),
        faw_chalkboard_teacher('\ue99d'),
        faw_charging_station('\ue99f'),
        faw_chart_area('\ue9a0'),
        faw_chart_bar('\ue9a1'),
        faw_chart_line('\ue9a2'),
        faw_chart_pie('\ue9a3'),
        faw_check('\ue9a7'),
        faw_check_circle('\ue9a4'),
        faw_check_double('\ue9a5'),
        faw_check_square('\ue9a6'),
        faw_cheese('\ue9a8'),
        faw_chess('\ue9b0'),
        faw_chess_bishop('\ue9a9'),
        faw_chess_board('\ue9aa'),
        faw_chess_king('\ue9ab'),
        faw_chess_knight('\ue9ac'),
        faw_chess_pawn('\ue9ad'),
        faw_chess_queen('\ue9ae'),
        faw_chess_rook('\ue9af'),
        faw_chevron_circle_down('\ue9b1'),
        faw_chevron_circle_left('\ue9b2'),
        faw_chevron_circle_right('\ue9b3'),
        faw_chevron_circle_up('\ue9b4'),
        faw_chevron_down('\ue9b5'),
        faw_chevron_left('\ue9b6'),
        faw_chevron_right('\ue9b7'),
        faw_chevron_up('\ue9b8'),
        faw_child('\ue9b9'),
        faw_church('\ue9ba'),
        faw_circle('\ue9bc'),
        faw_circle_notch('\ue9bb'),
        faw_city('\ue9bd'),
        faw_clinic_medical('\ue9be'),
        faw_clipboard('\ue9c1'),
        faw_clipboard_check('\ue9bf'),
        faw_clipboard_list('\ue9c0'),
        faw_clock('\ue9c2'),
        faw_clone('\ue9c3'),
        faw_closed_captioning('\ue9c4'),
        faw_cloud('\ue9ce'),
        faw_cloud_download_alt('\ue9c5'),
        faw_cloud_meatball('\ue9c6'),
        faw_cloud_moon('\ue9c8'),
        faw_cloud_moon_rain('\ue9c7'),
        faw_cloud_rain('\ue9c9'),
        faw_cloud_showers_heavy('\ue9ca'),
        faw_cloud_sun('\ue9cc'),
        faw_cloud_sun_rain('\ue9cb'),
        faw_cloud_upload_alt('\ue9cd'),
        faw_cocktail('\ue9cf'),
        faw_code('\ue9d1'),
        faw_code_branch('\ue9d0'),
        faw_coffee('\ue9d2'),
        faw_cog('\ue9d3'),
        faw_cogs('\ue9d4'),
        faw_coins('\ue9d5'),
        faw_columns('\ue9d6'),
        faw_comment('\ue9dc'),
        faw_comment_alt('\ue9d7'),
        faw_comment_dollar('\ue9d8'),
        faw_comment_dots('\ue9d9'),
        faw_comment_medical('\ue9da'),
        faw_comment_slash('\ue9db'),
        faw_comments('\ue9de'),
        faw_comments_dollar('\ue9dd'),
        faw_compact_disc('\ue9df'),
        faw_compass('\ue9e0'),
        faw_compress('\ue9e3'),
        faw_compress_alt('\ue9e1'),
        faw_compress_arrows_alt('\ue9e2'),
        faw_concierge_bell('\ue9e4'),
        faw_cookie('\ue9e6'),
        faw_cookie_bite('\ue9e5'),
        faw_copy('\ue9e7'),
        faw_copyright('\ue9e8'),
        faw_couch('\ue9e9'),
        faw_credit_card('\ue9ea'),
        faw_crop('\ue9ec'),
        faw_crop_alt('\ue9eb'),
        faw_cross('\ue9ed'),
        faw_crosshairs('\ue9ee'),
        faw_crow('\ue9ef'),
        faw_crown('\ue9f0'),
        faw_crutch('\ue9f1'),
        faw_cube('\ue9f2'),
        faw_cubes('\ue9f3'),
        faw_cut('\ue9f4'),
        faw_database('\ue9f5'),
        faw_deaf('\ue9f6'),
        faw_democrat('\ue9f7'),
        faw_desktop('\ue9f8'),
        faw_dharmachakra('\ue9f9'),
        faw_diagnoses('\ue9fa'),
        faw_dice('\uea03'),
        faw_dice_d20('\ue9fc'),
        faw_dice_d6('\ue9fb'),
        faw_dice_five('\ue9fd'),
        faw_dice_four('\ue9fe'),
        faw_dice_one('\ue9ff'),
        faw_dice_six('\uea00'),
        faw_dice_three('\uea01'),
        faw_dice_two('\uea02'),
        faw_digital_tachograph('\uea04'),
        faw_directions('\uea05'),
        faw_disease('\uea06'),
        faw_divide('\uea07'),
        faw_dizzy('\uea08'),
        faw_dna('\uea09'),
        faw_dog('\uea0a'),
        faw_dollar_sign('\uea0b'),
        faw_dolly('\uea0d'),
        faw_dolly_flatbed('\uea0c'),
        faw_donate('\uea0e'),
        faw_door_closed('\uea0f'),
        faw_door_open('\uea10'),
        faw_dot_circle('\uea11'),
        faw_dove('\uea12'),
        faw_download('\uea13'),
        faw_drafting_compass('\uea14'),
        faw_dragon('\uea15'),
        faw_draw_polygon('\uea16'),
        faw_drum('\uea18'),
        faw_drum_steelpan('\uea17'),
        faw_drumstick_bite('\uea19'),
        faw_dumbbell('\uea1a'),
        faw_dumpster('\uea1c'),
        faw_dumpster_fire('\uea1b'),
        faw_dungeon('\uea1d'),
        faw_edit('\uea1e'),
        faw_egg('\uea1f'),
        faw_eject('\uea20'),
        faw_ellipsis_h('\uea21'),
        faw_ellipsis_v('\uea22'),
        faw_envelope('\uea26'),
        faw_envelope_open('\uea24'),
        faw_envelope_open_text('\uea23'),
        faw_envelope_square('\uea25'),
        faw_equals('\uea27'),
        faw_eraser('\uea28'),
        faw_ethernet('\uea29'),
        faw_euro_sign('\uea2a'),
        faw_exchange_alt('\uea2b'),
        faw_exclamation('\uea2e'),
        faw_exclamation_circle('\uea2c'),
        faw_exclamation_triangle('\uea2d'),
        faw_expand('\uea31'),
        faw_expand_alt('\uea2f'),
        faw_expand_arrows_alt('\uea30'),
        faw_external_link_alt('\uea32'),
        faw_external_link_square_alt('\uea33'),
        faw_eye('\uea36'),
        faw_eye_dropper('\uea34'),
        faw_eye_slash('\uea35'),
        faw_fan('\uea37'),
        faw_fast_backward('\uea38'),
        faw_fast_forward('\uea39'),
        faw_faucet('\uea3a'),
        faw_fax('\uea3b'),
        faw_feather('\uea3d'),
        faw_feather_alt('\uea3c'),
        faw_female('\uea3e'),
        faw_fighter_jet('\uea3f'),
        faw_file('\uea56'),
        faw_file_alt('\uea40'),
        faw_file_archive('\uea41'),
        faw_file_audio('\uea42'),
        faw_file_code('\uea43'),
        faw_file_contract('\uea44'),
        faw_file_csv('\uea45'),
        faw_file_download('\uea46'),
        faw_file_excel('\uea47'),
        faw_file_export('\uea48'),
        faw_file_image('\uea49'),
        faw_file_import('\uea4a'),
        faw_file_invoice('\uea4c'),
        faw_file_invoice_dollar('\uea4b'),
        faw_file_medical('\uea4e'),
        faw_file_medical_alt('\uea4d'),
        faw_file_pdf('\uea4f'),
        faw_file_powerpoint('\uea50'),
        faw_file_prescription('\uea51'),
        faw_file_signature('\uea52'),
        faw_file_upload('\uea53'),
        faw_file_video('\uea54'),
        faw_file_word('\uea55'),
        faw_fill('\uea58'),
        faw_fill_drip('\uea57'),
        faw_film('\uea59'),
        faw_filter('\uea5a'),
        faw_fingerprint('\uea5b'),
        faw_fire('\uea5e'),
        faw_fire_alt('\uea5c'),
        faw_fire_extinguisher('\uea5d'),
        faw_first_aid('\uea5f'),
        faw_fish('\uea60'),
        faw_fist_raised('\uea61'),
        faw_flag('\uea64'),
        faw_flag_checkered('\uea62'),
        faw_flag_usa('\uea63'),
        faw_flask('\uea65'),
        faw_flushed('\uea66'),
        faw_folder('\uea6a'),
        faw_folder_minus('\uea67'),
        faw_folder_open('\uea68'),
        faw_folder_plus('\uea69'),
        faw_font('\uea6c'),
        faw_font_awesome_logo_full('\uea6b'),
        faw_football_ball('\uea6d'),
        faw_forward('\uea6e'),
        faw_frog('\uea6f'),
        faw_frown('\uea71'),
        faw_frown_open('\uea70'),
        faw_funnel_dollar('\uea72'),
        faw_futbol('\uea73'),
        faw_gamepad('\uea74'),
        faw_gas_pump('\uea75'),
        faw_gavel('\uea76'),
        faw_gem('\uea77'),
        faw_genderless('\uea78'),
        faw_ghost('\uea79'),
        faw_gift('\uea7a'),
        faw_gifts('\uea7b'),
        faw_glass_cheers('\uea7c'),
        faw_glass_martini('\uea7e'),
        faw_glass_martini_alt('\uea7d'),
        faw_glass_whiskey('\uea7f'),
        faw_glasses('\uea80'),
        faw_globe('\uea85'),
        faw_globe_africa('\uea81'),
        faw_globe_americas('\uea82'),
        faw_globe_asia('\uea83'),
        faw_globe_europe('\uea84'),
        faw_golf_ball('\uea86'),
        faw_gopuram('\uea87'),
        faw_graduation_cap('\uea88'),
        faw_greater_than('\uea8a'),
        faw_greater_than_equal('\uea89'),
        faw_grimace('\uea8b'),
        faw_grin('\uea98'),
        faw_grin_alt('\uea8c'),
        faw_grin_beam('\uea8e'),
        faw_grin_beam_sweat('\uea8d'),
        faw_grin_hearts('\uea8f'),
        faw_grin_squint('\uea91'),
        faw_grin_squint_tears('\uea90'),
        faw_grin_stars('\uea92'),
        faw_grin_tears('\uea93'),
        faw_grin_tongue('\uea96'),
        faw_grin_tongue_squint('\uea94'),
        faw_grin_tongue_wink('\uea95'),
        faw_grin_wink('\uea97'),
        faw_grip_horizontal('\uea99'),
        faw_grip_lines('\uea9b'),
        faw_grip_lines_vertical('\uea9a'),
        faw_grip_vertical('\uea9c'),
        faw_guitar('\uea9d'),
        faw_h_square('\uea9e'),
        faw_hamburger('\uea9f'),
        faw_hammer('\ueaa0'),
        faw_hamsa('\ueaa1'),
        faw_hand_holding('\ueaa6'),
        faw_hand_holding_heart('\ueaa2'),
        faw_hand_holding_medical('\ueaa3'),
        faw_hand_holding_usd('\ueaa4'),
        faw_hand_holding_water('\ueaa5'),
        faw_hand_lizard('\ueaa7'),
        faw_hand_middle_finger('\ueaa8'),
        faw_hand_paper('\ueaa9'),
        faw_hand_peace('\ueaaa'),
        faw_hand_point_down('\ueaab'),
        faw_hand_point_left('\ueaac'),
        faw_hand_point_right('\ueaad'),
        faw_hand_point_up('\ueaae'),
        faw_hand_pointer('\ueaaf'),
        faw_hand_rock('\ueab0'),
        faw_hand_scissors('\ueab1'),
        faw_hand_sparkles('\ueab2'),
        faw_hand_spock('\ueab3'),
        faw_hands('\ueab6'),
        faw_hands_helping('\ueab4'),
        faw_hands_wash('\ueab5'),
        faw_handshake('\ueab9'),
        faw_handshake_alt_slash('\ueab7'),
        faw_handshake_slash('\ueab8'),
        faw_hanukiah('\ueaba'),
        faw_hard_hat('\ueabb'),
        faw_hashtag('\ueabc'),
        faw_hat_cowboy('\ueabe'),
        faw_hat_cowboy_side('\ueabd'),
        faw_hat_wizard('\ueabf'),
        faw_hdd('\ueac0'),
        faw_head_side_cough('\ueac2'),
        faw_head_side_cough_slash('\ueac1'),
        faw_head_side_mask('\ueac3'),
        faw_head_side_virus('\ueac4'),
        faw_heading('\ueac5'),
        faw_headphones('\ueac7'),
        faw_headphones_alt('\ueac6'),
        faw_headset('\ueac8'),
        faw_heart('\ueaca'),
        faw_heart_broken('\ueac9'),
        faw_heartbeat('\ueacb'),
        faw_helicopter('\ueacc'),
        faw_highlighter('\ueacd'),
        faw_hiking('\ueace'),
        faw_hippo('\ueacf'),
        faw_history('\uead0'),
        faw_hockey_puck('\uead1'),
        faw_holly_berry('\uead2'),
        faw_home('\uead3'),
        faw_horse('\uead5'),
        faw_horse_head('\uead4'),
        faw_hospital('\uead9'),
        faw_hospital_alt('\uead6'),
        faw_hospital_symbol('\uead7'),
        faw_hospital_user('\uead8'),
        faw_hot_tub('\ueada'),
        faw_hotdog('\ueadb'),
        faw_hotel('\ueadc'),
        faw_hourglass('\ueae0'),
        faw_hourglass_end('\ueadd'),
        faw_hourglass_half('\ueade'),
        faw_hourglass_start('\ueadf'),
        faw_house_damage('\ueae1'),
        faw_house_user('\ueae2'),
        faw_hryvnia('\ueae3'),
        faw_i_cursor('\ueae4'),
        faw_ice_cream('\ueae5'),
        faw_icicles('\ueae6'),
        faw_icons('\ueae7'),
        faw_id_badge('\ueae8'),
        faw_id_card('\ueaea'),
        faw_id_card_alt('\ueae9'),
        faw_igloo('\ueaeb'),
        faw_image('\ueaec'),
        faw_images('\ueaed'),
        faw_inbox('\ueaee'),
        faw_indent('\ueaef'),
        faw_industry('\ueaf0'),
        faw_infinity('\ueaf1'),
        faw_info('\ueaf3'),
        faw_info_circle('\ueaf2'),
        faw_italic('\ueaf4'),
        faw_jedi('\ueaf5'),
        faw_joint('\ueaf6'),
        faw_journal_whills('\ueaf7'),
        faw_kaaba('\ueaf8'),
        faw_key('\ueaf9'),
        faw_keyboard('\ueafa'),
        faw_khanda('\ueafb'),
        faw_kiss('\ueafe'),
        faw_kiss_beam('\ueafc'),
        faw_kiss_wink_heart('\ueafd'),
        faw_kiwi_bird('\ueaff'),
        faw_landmark('\ueb00'),
        faw_language('\ueb01'),
        faw_laptop('\ueb05'),
        faw_laptop_code('\ueb02'),
        faw_laptop_house('\ueb03'),
        faw_laptop_medical('\ueb04'),
        faw_laugh('\ueb09'),
        faw_laugh_beam('\ueb06'),
        faw_laugh_squint('\ueb07'),
        faw_laugh_wink('\ueb08'),
        faw_layer_group('\ueb0a'),
        faw_leaf('\ueb0b'),
        faw_lemon('\ueb0c'),
        faw_less_than('\ueb0e'),
        faw_less_than_equal('\ueb0d'),
        faw_level_down_alt('\ueb0f'),
        faw_level_up_alt('\ueb10'),
        faw_life_ring('\ueb11'),
        faw_lightbulb('\ueb12'),
        faw_link('\ueb13'),
        faw_lira_sign('\ueb14'),
        faw_list('\ueb18'),
        faw_list_alt('\ueb15'),
        faw_list_ol('\ueb16'),
        faw_list_ul('\ueb17'),
        faw_location_arrow('\ueb19'),
        faw_lock('\ueb1b'),
        faw_lock_open('\ueb1a'),
        faw_long_arrow_alt_down('\ueb1c'),
        faw_long_arrow_alt_left('\ueb1d'),
        faw_long_arrow_alt_right('\ueb1e'),
        faw_long_arrow_alt_up('\ueb1f'),
        faw_low_vision('\ueb20'),
        faw_luggage_cart('\ueb21'),
        faw_lungs('\ueb23'),
        faw_lungs_virus('\ueb22'),
        faw_magic('\ueb24'),
        faw_magnet('\ueb25'),
        faw_mail_bulk('\ueb26'),
        faw_male('\ueb27'),
        faw_map('\ueb2e'),
        faw_map_marked('\ueb29'),
        faw_map_marked_alt('\ueb28'),
        faw_map_marker('\ueb2b'),
        faw_map_marker_alt('\ueb2a'),
        faw_map_pin('\ueb2c'),
        faw_map_signs('\ueb2d'),
        faw_marker('\ueb2f'),
        faw_mars('\ueb34'),
        faw_mars_double('\ueb30'),
        faw_mars_stroke('\ueb33'),
        faw_mars_stroke_h('\ueb31'),
        faw_mars_stroke_v('\ueb32'),
        faw_mask('\ueb35'),
        faw_medal('\ueb36'),
        faw_medkit('\ueb37'),
        faw_meh('\ueb3a'),
        faw_meh_blank('\ueb38'),
        faw_meh_rolling_eyes('\ueb39'),
        faw_memory('\ueb3b'),
        faw_menorah('\ueb3c'),
        faw_mercury('\ueb3d'),
        faw_meteor('\ueb3e'),
        faw_microchip('\ueb3f'),
        faw_microphone('\ueb43'),
        faw_microphone_alt('\ueb41'),
        faw_microphone_alt_slash('\ueb40'),
        faw_microphone_slash('\ueb42'),
        faw_microscope('\ueb44'),
        faw_minus('\ueb47'),
        faw_minus_circle('\ueb45'),
        faw_minus_square('\ueb46'),
        faw_mitten('\ueb48'),
        faw_mobile('\ueb4a'),
        faw_mobile_alt('\ueb49'),
        faw_money_bill('\ueb4e'),
        faw_money_bill_alt('\ueb4b'),
        faw_money_bill_wave('\ueb4d'),
        faw_money_bill_wave_alt('\ueb4c'),
        faw_money_check('\ueb50'),
        faw_money_check_alt('\ueb4f'),
        faw_monument('\ueb51'),
        faw_moon('\ueb52'),
        faw_mortar_pestle('\ueb53'),
        faw_mosque('\ueb54'),
        faw_motorcycle('\ueb55'),
        faw_mountain('\ueb56'),
        faw_mouse('\ueb58'),
        faw_mouse_pointer('\ueb57'),
        faw_mug_hot('\ueb59'),
        faw_music('\ueb5a'),
        faw_network_wired('\ueb5b'),
        faw_neuter('\ueb5c'),
        faw_newspaper('\ueb5d'),
        faw_not_equal('\ueb5e'),
        faw_notes_medical('\ueb5f'),
        faw_object_group('\ueb60'),
        faw_object_ungroup('\ueb61'),
        faw_oil_can('\ueb62'),
        faw_om('\ueb63'),
        faw_otter('\ueb64'),
        faw_outdent('\ueb65'),
        faw_pager('\ueb66'),
        faw_paint_brush('\ueb67'),
        faw_paint_roller('\ueb68'),
        faw_palette('\ueb69'),
        faw_pallet('\ueb6a'),
        faw_paper_plane('\ueb6b'),
        faw_paperclip('\ueb6c'),
        faw_parachute_box('\ueb6d'),
        faw_paragraph('\ueb6e'),
        faw_parking('\ueb6f'),
        faw_passport('\ueb70'),
        faw_pastafarianism('\ueb71'),
        faw_paste('\ueb72'),
        faw_pause('\ueb74'),
        faw_pause_circle('\ueb73'),
        faw_paw('\ueb75'),
        faw_peace('\ueb76'),
        faw_pen('\ueb7b'),
        faw_pen_alt('\ueb77'),
        faw_pen_fancy('\ueb78'),
        faw_pen_nib('\ueb79'),
        faw_pen_square('\ueb7a'),
        faw_pencil_alt('\ueb7c'),
        faw_pencil_ruler('\ueb7d'),
        faw_people_arrows('\ueb7e'),
        faw_people_carry('\ueb7f'),
        faw_pepper_hot('\ueb80'),
        faw_percent('\ueb81'),
        faw_percentage('\ueb82'),
        faw_person_booth('\ueb83'),
        faw_phone('\ueb89'),
        faw_phone_alt('\ueb84'),
        faw_phone_slash('\ueb85'),
        faw_phone_square('\ueb87'),
        faw_phone_square_alt('\ueb86'),
        faw_phone_volume('\ueb88'),
        faw_photo_video('\ueb8a'),
        faw_piggy_bank('\ueb8b'),
        faw_pills('\ueb8c'),
        faw_pizza_slice('\ueb8d'),
        faw_place_of_worship('\ueb8e'),
        faw_plane('\ueb92'),
        faw_plane_arrival('\ueb8f'),
        faw_plane_departure('\ueb90'),
        faw_plane_slash('\ueb91'),
        faw_play('\ueb94'),
        faw_play_circle('\ueb93'),
        faw_plug('\ueb95'),
        faw_plus('\ueb98'),
        faw_plus_circle('\ueb96'),
        faw_plus_square('\ueb97'),
        faw_podcast('\ueb99'),
        faw_poll('\ueb9b'),
        faw_poll_h('\ueb9a'),
        faw_poo('\ueb9d'),
        faw_poo_storm('\ueb9c'),
        faw_poop('\ueb9e'),
        faw_portrait('\ueb9f'),
        faw_pound_sign('\ueba0'),
        faw_power_off('\ueba1'),
        faw_pray('\ueba2'),
        faw_praying_hands('\ueba3'),
        faw_prescription('\ueba6'),
        faw_prescription_bottle('\ueba5'),
        faw_prescription_bottle_alt('\ueba4'),
        faw_print('\ueba7'),
        faw_procedures('\ueba8'),
        faw_project_diagram('\ueba9'),
        faw_pump_medical('\uebaa'),
        faw_pump_soap('\uebab'),
        faw_puzzle_piece('\uebac'),
        faw_qrcode('\uebad'),
        faw_question('\uebaf'),
        faw_question_circle('\uebae'),
        faw_quidditch('\uebb0'),
        faw_quote_left('\uebb1'),
        faw_quote_right('\uebb2'),
        faw_quran('\uebb3'),
        faw_radiation('\uebb5'),
        faw_radiation_alt('\uebb4'),
        faw_rainbow('\uebb6'),
        faw_random('\uebb7'),
        faw_receipt('\uebb8'),
        faw_record_vinyl('\uebb9'),
        faw_recycle('\uebba'),
        faw_redo('\uebbc'),
        faw_redo_alt('\uebbb'),
        faw_registered('\uebbd'),
        faw_remove_format('\uebbe'),
        faw_reply('\uebc0'),
        faw_reply_all('\uebbf'),
        faw_republican('\uebc1'),
        faw_restroom('\uebc2'),
        faw_retweet('\uebc3'),
        faw_ribbon('\uebc4'),
        faw_ring('\uebc5'),
        faw_road('\uebc6'),
        faw_robot('\uebc7'),
        faw_rocket('\uebc8'),
        faw_route('\uebc9'),
        faw_rss('\uebcb'),
        faw_rss_square('\uebca'),
        faw_ruble_sign('\uebcc'),
        faw_ruler('\uebd0'),
        faw_ruler_combined('\uebcd'),
        faw_ruler_horizontal('\uebce'),
        faw_ruler_vertical('\uebcf'),
        faw_running('\uebd1'),
        faw_rupee_sign('\uebd2'),
        faw_sad_cry('\uebd3'),
        faw_sad_tear('\uebd4'),
        faw_satellite('\uebd6'),
        faw_satellite_dish('\uebd5'),
        faw_save('\uebd7'),
        faw_school('\uebd8'),
        faw_screwdriver('\uebd9'),
        faw_scroll('\uebda'),
        faw_sd_card('\uebdb'),
        faw_search('\uebe0'),
        faw_search_dollar('\uebdc'),
        faw_search_location('\uebdd'),
        faw_search_minus('\uebde'),
        faw_search_plus('\uebdf'),
        faw_seedling('\uebe1'),
        faw_server('\uebe2'),
        faw_shapes('\uebe3'),
        faw_share('\uebe7'),
        faw_share_alt('\uebe5'),
        faw_share_alt_square('\uebe4'),
        faw_share_square('\uebe6'),
        faw_shekel_sign('\uebe8'),
        faw_shield_alt('\uebe9'),
        faw_shield_virus('\uebea'),
        faw_ship('\uebeb'),
        faw_shipping_fast('\uebec'),
        faw_shoe_prints('\uebed'),
        faw_shopping_bag('\uebee'),
        faw_shopping_basket('\uebef'),
        faw_shopping_cart('\uebf0'),
        faw_shower('\uebf1'),
        faw_shuttle_van('\uebf2'),
        faw_sign('\uebf6'),
        faw_sign_in_alt('\uebf3'),
        faw_sign_language('\uebf4'),
        faw_sign_out_alt('\uebf5'),
        faw_signal('\uebf7'),
        faw_signature('\uebf8'),
        faw_sim_card('\uebf9'),
        faw_sink('\uebfa'),
        faw_sitemap('\uebfb'),
        faw_skating('\uebfc'),
        faw_skiing('\uebfe'),
        faw_skiing_nordic('\uebfd'),
        faw_skull('\uec00'),
        faw_skull_crossbones('\uebff'),
        faw_slash('\uec01'),
        faw_sleigh('\uec02'),
        faw_sliders_h('\uec03'),
        faw_smile('\uec06'),
        faw_smile_beam('\uec04'),
        faw_smile_wink('\uec05'),
        faw_smog('\uec07'),
        faw_smoking('\uec09'),
        faw_smoking_ban('\uec08'),
        faw_sms('\uec0a'),
        faw_snowboarding('\uec0b'),
        faw_snowflake('\uec0c'),
        faw_snowman('\uec0d'),
        faw_snowplow('\uec0e'),
        faw_soap('\uec0f'),
        faw_socks('\uec10'),
        faw_solar_panel('\uec11'),
        faw_sort('\uec20'),
        faw_sort_alpha_down('\uec13'),
        faw_sort_alpha_down_alt('\uec12'),
        faw_sort_alpha_up('\uec15'),
        faw_sort_alpha_up_alt('\uec14'),
        faw_sort_amount_down('\uec17'),
        faw_sort_amount_down_alt('\uec16'),
        faw_sort_amount_up('\uec19'),
        faw_sort_amount_up_alt('\uec18'),
        faw_sort_down('\uec1a'),
        faw_sort_numeric_down('\uec1c'),
        faw_sort_numeric_down_alt('\uec1b'),
        faw_sort_numeric_up('\uec1e'),
        faw_sort_numeric_up_alt('\uec1d'),
        faw_sort_up('\uec1f'),
        faw_spa('\uec21'),
        faw_space_shuttle('\uec22'),
        faw_spell_check('\uec23'),
        faw_spider('\uec24'),
        faw_spinner('\uec25'),
        faw_splotch('\uec26'),
        faw_spray_can('\uec27'),
        faw_square('\uec2a'),
        faw_square_full('\uec28'),
        faw_square_root_alt('\uec29'),
        faw_stamp('\uec2b'),
        faw_star('\uec31'),
        faw_star_and_crescent('\uec2c'),
        faw_star_half('\uec2e'),
        faw_star_half_alt('\uec2d'),
        faw_star_of_david('\uec2f'),
        faw_star_of_life('\uec30'),
        faw_step_backward('\uec32'),
        faw_step_forward('\uec33'),
        faw_stethoscope('\uec34'),
        faw_sticky_note('\uec35'),
        faw_stop('\uec37'),
        faw_stop_circle('\uec36'),
        faw_stopwatch('\uec39'),
        faw_stopwatch_20('\uec38'),
        faw_store('\uec3d'),
        faw_store_alt('\uec3b'),
        faw_store_alt_slash('\uec3a'),
        faw_store_slash('\uec3c'),
        faw_stream('\uec3e'),
        faw_street_view('\uec3f'),
        faw_strikethrough('\uec40'),
        faw_stroopwafel('\uec41'),
        faw_subscript('\uec42'),
        faw_subway('\uec43'),
        faw_suitcase('\uec45'),
        faw_suitcase_rolling('\uec44'),
        faw_sun('\uec46'),
        faw_superscript('\uec47'),
        faw_surprise('\uec48'),
        faw_swatchbook('\uec49'),
        faw_swimmer('\uec4a'),
        faw_swimming_pool('\uec4b'),
        faw_synagogue('\uec4c'),
        faw_sync('\uec4e'),
        faw_sync_alt('\uec4d'),
        faw_syringe('\uec4f'),
        faw_table('\uec51'),
        faw_table_tennis('\uec50'),
        faw_tablet('\uec53'),
        faw_tablet_alt('\uec52'),
        faw_tablets('\uec54'),
        faw_tachometer_alt('\uec55'),
        faw_tag('\uec56'),
        faw_tags('\uec57'),
        faw_tape('\uec58'),
        faw_tasks('\uec59'),
        faw_taxi('\uec5a'),
        faw_teeth('\uec5c'),
        faw_teeth_open('\uec5b'),
        faw_temperature_high('\uec5d'),
        faw_temperature_low('\uec5e'),
        faw_tenge('\uec5f'),
        faw_terminal('\uec60'),
        faw_text_height('\uec61'),
        faw_text_width('\uec62'),
        faw_th('\uec65'),
        faw_th_large('\uec63'),
        faw_th_list('\uec64'),
        faw_theater_masks('\uec66'),
        faw_thermometer('\uec6c'),
        faw_thermometer_empty('\uec67'),
        faw_thermometer_full('\uec68'),
        faw_thermometer_half('\uec69'),
        faw_thermometer_quarter('\uec6a'),
        faw_thermometer_three_quarters('\uec6b'),
        faw_thumbs_down('\uec6d'),
        faw_thumbs_up('\uec6e'),
        faw_thumbtack('\uec6f'),
        faw_ticket_alt('\uec70'),
        faw_times('\uec72'),
        faw_times_circle('\uec71'),
        faw_tint('\uec74'),
        faw_tint_slash('\uec73'),
        faw_tired('\uec75'),
        faw_toggle_off('\uec76'),
        faw_toggle_on('\uec77'),
        faw_toilet('\uec7a'),
        faw_toilet_paper('\uec79'),
        faw_toilet_paper_slash('\uec78'),
        faw_toolbox('\uec7b'),
        faw_tools('\uec7c'),
        faw_tooth('\uec7d'),
        faw_torah('\uec7e'),
        faw_torii_gate('\uec7f'),
        faw_tractor('\uec80'),
        faw_trademark('\uec81'),
        faw_traffic_light('\uec82'),
        faw_trailer('\uec83'),
        faw_train('\uec84'),
        faw_tram('\uec85'),
        faw_transgender('\uec87'),
        faw_transgender_alt('\uec86'),
        faw_trash('\uec8b'),
        faw_trash_alt('\uec88'),
        faw_trash_restore('\uec8a'),
        faw_trash_restore_alt('\uec89'),
        faw_tree('\uec8c'),
        faw_trophy('\uec8d'),
        faw_truck('\uec92'),
        faw_truck_loading('\uec8e'),
        faw_truck_monster('\uec8f'),
        faw_truck_moving('\uec90'),
        faw_truck_pickup('\uec91'),
        faw_tshirt('\uec93'),
        faw_tty('\uec94'),
        faw_tv('\uec95'),
        faw_umbrella('\uec97'),
        faw_umbrella_beach('\uec96'),
        faw_underline('\uec98'),
        faw_undo('\uec9a'),
        faw_undo_alt('\uec99'),
        faw_universal_access('\uec9b'),
        faw_university('\uec9c'),
        faw_unlink('\uec9d'),
        faw_unlock('\uec9f'),
        faw_unlock_alt('\uec9e'),
        faw_upload('\ueca0'),
        faw_user('\uecb8'),
        faw_user_alt('\ueca2'),
        faw_user_alt_slash('\ueca1'),
        faw_user_astronaut('\ueca3'),
        faw_user_check('\ueca4'),
        faw_user_circle('\ueca5'),
        faw_user_clock('\ueca6'),
        faw_user_cog('\ueca7'),
        faw_user_edit('\ueca8'),
        faw_user_friends('\ueca9'),
        faw_user_graduate('\uecaa'),
        faw_user_injured('\uecab'),
        faw_user_lock('\uecac'),
        faw_user_md('\uecad'),
        faw_user_minus('\uecae'),
        faw_user_ninja('\uecaf'),
        faw_user_nurse('\uecb0'),
        faw_user_plus('\uecb1'),
        faw_user_secret('\uecb2'),
        faw_user_shield('\uecb3'),
        faw_user_slash('\uecb4'),
        faw_user_tag('\uecb5'),
        faw_user_tie('\uecb6'),
        faw_user_times('\uecb7'),
        faw_users('\uecbb'),
        faw_users_cog('\uecb9'),
        faw_users_slash('\uecba'),
        faw_utensil_spoon('\uecbc'),
        faw_utensils('\uecbd'),
        faw_vector_square('\uecbe'),
        faw_venus('\uecc1'),
        faw_venus_double('\uecbf'),
        faw_venus_mars('\uecc0'),
        faw_vest('\uecc3'),
        faw_vest_patches('\uecc2'),
        faw_vial('\uecc4'),
        faw_vials('\uecc5'),
        faw_video('\uecc7'),
        faw_video_slash('\uecc6'),
        faw_vihara('\uecc8'),
        faw_virus('\uecca'),
        faw_virus_slash('\uecc9'),
        faw_viruses('\ueccb'),
        faw_voicemail('\ueccc'),
        faw_volleyball_ball('\ueccd'),
        faw_volume_down('\uecce'),
        faw_volume_mute('\ueccf'),
        faw_volume_off('\uecd0'),
        faw_volume_up('\uecd1'),
        faw_vote_yea('\uecd2'),
        faw_vr_cardboard('\uecd3'),
        faw_walking('\uecd4'),
        faw_wallet('\uecd5'),
        faw_warehouse('\uecd6'),
        faw_water('\uecd7'),
        faw_wave_square('\uecd8'),
        faw_weight('\uecda'),
        faw_weight_hanging('\uecd9'),
        faw_wheelchair('\uecdb'),
        faw_wifi('\uecdc'),
        faw_wind('\uecdd'),
        faw_window_close('\uecde'),
        faw_window_maximize('\uecdf'),
        faw_window_minimize('\uece0'),
        faw_window_restore('\uece1'),
        faw_wine_bottle('\uece2'),
        faw_wine_glass('\uece4'),
        faw_wine_glass_alt('\uece3'),
        faw_won_sign('\uece5'),
        faw_wrench('\uece6'),
        faw_x_ray('\uece7'),
        faw_yen_sign('\uece8'),
        faw_yin_yang('\uece9');

        override val typeface: ITypeface by lazy { FontAwesome }
    }
}